<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
        <title>JQuery Validation Engine</title>
        <link rel="stylesheet" href="../css/validationEngine.jquery.css" type="text/css"/>
        <link rel="stylesheet" href="../css/template.css" type="text/css"/>
        <script src="../js/jquery-1.6.min.js" type="text/javascript">
        </script>
        <script src="../js/languages/jquery.validationEngine-ja.js" type="text/javascript" charset="utf-8">
        </script>
        <script src="../js/jquery.validationEngine.js" type="text/javascript" charset="utf-8">
        </script>
        <script>
            jQuery(document).ready(function(){
                // binds form submission and fields to the validation engine
                jQuery("#formID").validationEngine();
            });
            
            /**
             *
             * @param {jqObject} the field where the validation applies
             * @param {Array[String]} validation rules for this field
             * @param {int} rule index
             * @param {Map} form options
             * @return an error string if validation failed
             */
            function checkHELLO(field, rules, i, options){
                if (field.val() != "HELLO") {
                    // this allows to use i18 for the error msgs
                    return options.allrules.validate2fields.alertText;
                }
            }
        </script>
    </head>
    <body>
        <p>
            <a href="#" onclick="alert('is the form valid? '+jQuery('#formID').validationEngine('validate'))">Evaluate form</a>
            | <a href="#" onclick="jQuery('#formID').validationEngine('showPrompt', 'This is an example', 'pass')">Build a prompt on a div</a>
            | <a href="#" onclick="jQuery('#formID').validationEngine('hide')">Close all prompts</a>
			| <a href="../index.html" >Back to index</a>
        </p>
        <p>
            This demonstration shows the different validators available
            <br/>
        </p>
        <form id="formID" class="formular" method="post" action="">
            <fieldset>
                <legend>
                    Required
                </legend>
                <label>
                    <span>Field is required : </span>
                    <input value="" class="validate[required] text-input" type="text" name="req" id="req" />
                </label>
                <label>
                    <span>Favorite sport 1:</span>
                    <select name="sport" id="sport" class="validate[required]">
                        <option value="">Choose a sport</option>
                        <option value="option1">Tennis</option>
                        <option value="option2">Football</option>
                        <option value="option3">Golf</option>
                    </select>
                </label>
                <label>
                    <span>Favorite sport 2:</span>
                    <select name="sport2" id="sport2" multiple class="validate[required]">
                        <option value="">Choose a sport</option>
                        <option value="option1">Tennis</option>
                        <option value="option2">Football</option>
                        <option value="option3">Golf</option>
                    </select>
                </label>
                <br/>
                validate[required]
            </fieldset>
            <fieldset>
                <legend>
                    Custom
                </legend>
                <label>
                    Comes with many predifined regex (phone, url, ip, email..etc) <a href="demoRegExp.html">[DEMO]</a>
                    <br/>
                    <span>Enter a URL : </span>
                    <input value="http://" class="validate[required,custom[url]] text-input" type="text" name="url" id="url" />
                    <br/>
                    validate[required,custom[url]]
                </label>
            </fieldset>
            <fieldset>
                <legend>
                    Equals
                </legend>
                <label>
                    <span>Password : </span>
                    <input value="karnius" class="validate[required] text-input" type="password" name="password" id="password" />
                </label>
                <label>
                    <span>Confirm password : </span>
                    <input value="kaniusBAD" class="validate[required,equals[password]] text-input" type="password" name="password2" id="password2" />
                    <br/>
                    validate[required,equals[password]]
                </label>
            </fieldset>
            <fieldset>
                <legend>
                    Function
                </legend>
                <label>
                    <span>Write 'HELLO' : </span>
                    <input value="" class="validate[required,funcCall[checkHELLO]] text-input" type="text" id="lastname" name="lastname" />
                    <br/>
                    validate[required,funcCall[checkHELLO]]
                </label>
            </fieldset>
            <fieldset>
                <legend>
                    MinSize
                </legend>
                <label>
                    Minimum field size
                    <br/>
                    <input value="" class="validate[required,minSize[6]] text-input" type="text" name="minsize" id="minsize" />
                    <br/>
                    validate[required,minSize[6]]
                </label>
            </fieldset>
            <fieldset>
                <legend>
                    MaxSize
                </legend>
                <label>
                    Maximum field size
                    <br/>
                    <input value="0123456789" class="validate[required,maxSize[6]] text-input" type="text" name="maxsize" id="maxsize" />
                    <br/>
                    validate[required,maxSize[6]]
                </label>
            </fieldset>
            <fieldset>
                <legend>
                    Min
                </legend>
                <label>
                    integer >= -5
                    <br/>
                    <input value="-7" class="validate[required,custom[integer],min[-5]] text-input" type="text" name="min" id="min" />
                    <br/>
                    validate[required,custom[integer],min[-5]]
                </label>
            </fieldset>
            <fieldset>
                <legend>
                    Max
                </legend>
                <label>
                    integer ,50]
                    <br/>
                    <input value="55" class="validate[required,custom[integer],max[50]] text-input" type="text" name="max" id="max" />
                    <br/>
                    validate[required,custom[integer],max[50]]
                </label>
            </fieldset>
            <fieldset>
                <legend>
                    Past
                </legend>
                <label>
                    Checks that the value is a date in the past
                    <br/>
                    <span>Please enter a date ealier than 2010/01/01</span>
                    <input value="2009/06/30" class="validate[custom[date],past[2010/01/01]] text-input" type="text" name="past" id="past" />
                    <br/>
                    validate[custom[date],past[2010/01/01]]
                </label>
            </fieldset>
            <fieldset>
                <legend>
                    Future
                </legend>
                <label>
                    Checks that the value is a date in the future
                    <br/>
                    <span>Please enter a date older than today's date</span>
                    <input value="2011-01-" class="validate[custom[date],future[NOW]] text-input" type="text" name="future" id="future" />
                    <br/>
                    validate[custom[date],future[NOW]]
                </label>
            </fieldset>
            <fieldset>
                <legend>
                    Checkbox
                </legend>
                <label>
                    Check this <a href="demoCheckbox.html">[DEMO]</a>
                </label>
            </fieldset>
            <fieldset>
                <legend>
                    Ajax
                </legend>
                <label>
                    Check this <a href="demoAjax.html">[DEMO]</a>
                </label>
            </fieldset>
            <input class="submit" type="submit" value="Validate & Send the form!"/><hr/>
        </form>
    </body>
</html>